package ups.apps.negocio;

import java.util.Collection;
import java.util.List;

import javax.ejb.Stateless;
import javax.inject.Inject;
import javax.persistence.EntityManager;
import javax.persistence.Query;

import ups.apps.model.Cliente;

@Stateless
public class ClienteDAO {
	
	@Inject
	private EntityManager em;
	
	private String vacio =" ";
	
	public void insert(Cliente c)
	{
		System.out.println("Insertando");
		//em.getTransaction().begin(); //se inicia la transaccion
		em.persist(c);   //manda a insertar
		//em.getTransaction().commit(); //manda un commit a la base
	}
	public void update(Cliente c)
	{
		System.out.println("Actualizando");
		//em.getTransaction().begin(); //se inicia la transaccion
		em.merge(c);   //manda a actualizar
		//em.getTransaction().commit(); //manda un commit a la base
	}
	public void remove(Cliente c)
	{
		System.out.println("borrando");
		//em.getTransaction().begin(); //se inicia la transaccion
		em.remove(c);   //manda a borrrar
		//em.getTransaction().commit(); //manda un commit a la base
	}
	public Cliente read(String id)
	{
		System.out.println("leyendo");			
		Cliente c=em.find(Cliente.class, id); //recupera la entidad Cliente con el id			
		return c;
	}
	
	public List<Cliente> getClientes()
	{		
		String sql="select * from cliente";
		Query q=em.createNativeQuery (sql, Cliente.class);		
		List<Cliente> list=q.getResultList();
		
		return list;
	}	
		
}
